CherryPick DI
DI-контейнер – это библиотека, которая обеспечивает функциональность механизма внедрения зависимостей.
Содержание
1. Предисловие
2. Возможности библиотеки
3. Компоненты библиотеки
— 3.1. Scope
— 3.2. Module
— 3.3. Binding
4. Пример использования
5. Заключение
1. Предисловие
Первые попытки разработать свой DI для пет проектов написанных на Flutter SDK были начаты в начале 2020 года.
Сподвигло меня на этот шаг несколько причин:
1. На тот момент я не нашел DI в pub.dev с возможностью делить контейнер на scope (возможно плохо искал)
2. Упростить работу с зависимостями в проекте
3. Желание написать собственный DI
4. Иметь в арсенале простой DI (надеюсь с простым API)
2. Возможности библиотеки
Основные возможности DI контейнера:
— Инициализация экземпляра с именем
— Инициализация экземпляра как singleton
— Разделение контейнера на области видимости (scopes)
3. Основные компоненты DI
Библиотека состоит из трех основных компонентов:
— Scope
— Module
— Binding
3.1. Scope
Scope — это